home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
BMUG Revelations
/
BMUG Revelations.toast
/
Utilities
/
Text and Speech
/
UUTool
/
uu engine
/
uuencode⁄p
/
encode.p
< prev
Wrap
Text File
|
1991-06-15
|
2KB
|
98 lines
{* }
{ REAL Simple UENG Sample App}
{ Written by Leonard Rosenthol}
{ Original Version - 06/01/91}
{ Pascal Conversion - 06/11/91}
{ Don't forget to copy the uu**code resource over and rename it}
{ encode.π.rsrc.}
{*}
PROGRAM Encode;
USES
UUIntf;
VAR
origFile, destFile: SFReply;
err: OSErr;
origName: Str255;
PROCEDURE InitToolbox;
BEGIN
InitGraf(@thePort);
InitCursor;
InitFonts;
InitWindows;
InitMenus;
InitDialogs(NIL);
TEInit;
FlushEvents(-1, 0);
END;
PROCEDURE getOrigFile (VAR reply: SFReply);
VAR
where: Point;
typeList: SFTypeList;
BEGIN
SetPt(where, 50, 50);
typeList[0] := 'TEXT';
SFGetFile(where, '', NIL, 1, typeList, NIL, reply);
END;
PROCEDURE getDestFile (VAR reply: SFReply; VAR destName: Str255);
VAR
where: Point;
BEGIN
SetPt(where, 50, 50);
SFPutFile(where, 'Name the encoded file', destName, NIL, reply);
END;
FUNCTION encodeFiles (origFile, destFile: SFReply): OSErr;
VAR
engineHdl, tableHdl: Handle;
err, err1: OSErr;
origRefNum, destRefNum, numbufrs: integer;
header: Str255;
count: longint;
BEGIN
numbufrs := 100;
err := FSOpen(origFile.fName, origFile.vRefNum, origRefNum);
IF (err = noErr) THEN
BEGIN
err := Create(destFile.fName, destFile.vRefNum, 'MPS ', 'TEXT');
IF (err = noErr) THEN
BEGIN
err := FSOpen(destFile.fName, destFile.vRefNum, destRefNum);
header := CONCAT('begin 0755 ', origFile.fName, CHR(13));
count := length(header);
err := FSWrite(destRefNum, count, @header[1]);
err := UULoad(tableHdl, engineHdl);
err := uuencode(origRefNum, destRefNum, numbufrs, NIL, tableHdl^, engineHdl^);
UUnload(tableHdl, engineHdl);
header := CONCAT('end', CHR(13));
count := length(header);
err := FSWrite(destRefNum, count, @header[1]);
err1 := FSClose(destRefNum);
END;
err1 := FSClose(origRefNum);
END;
encodeFiles := err;
END;
BEGIN
InitToolbox;
getOrigFile(origFile);
IF (origFile.good) THEN
BEGIN
origName := CONCAT(origFile.fName, '.uu');
getDestFile(destFile, origName);
IF (destFile.good) THEN
err := encodeFiles(origFile, destFile);
END;
END.